
// 此环境不能访问vue实例，this指向不明
// 引入接口对象
import api from "./api"
async function getcity(){// 返回Promise 对象
    // 判断之前有没有存本地存储 没有就获取本地城市 有就获取本地存储的数据返回出去
    let cityinfo=localStorage.getItem("cityinfo")
    if(!cityinfo){// 没有本地存储
        return new Promise((resolve,reject)=>{
            const curCity = new window.BMap.LocalCity()
            // console.log(curCity)
            curCity.get(res=>{
                // console.log(res)// 可以封装promise
                let name=res.name.replace('市','')
                
                api.getCityInfo({name})
                .then(r=>{
                    // console.log(r);
                    if(r.data.code==200){// 请求成功之后
                        // 通过name查找本地城市的id，并且存到本地存储 以便于查找房源
                        localStorage.setItem("cityinfo",JSON.stringify(r.data.msg[0]))
                        resolve(name)
                    }
                })
               
           })
        })
    }

    cityinfo=JSON.parse(cityinfo)// 转对象
    // console.log(cityinfo);

    return cityinfo.name// 返回本地存储的城市名称
    
}

// 暴露出去
export default getcity// promise对象